✨ Split target optimization from native synthesis - #1998
Merged
Conversation
12 tasks
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Replace the duplicate native-gate menu with a minimal CompilerTarget basis adapter and independent pre-routing optimization, post-routing synthesis, and final conformance passes. Keep exact operation and ordered-locus support authoritative, including native SWAPs, reverse-only symmetric entanglers, and modifier shells. Co-authored-by: Simon Hofmann <simon.t.hofmann@tum.de> Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
burgholzer
force-pushed
the
agent/1687-syn-01-target-synthesis
branch
from
August 3, 2026 18:56
b0a5203 to
343a094
Compare
Make CompilerTarget's single-qubit basis authoritative, normalize symmetric gate support, and remove operand-reversal machinery. Use U/CZ fusion with preplanned direct rewrites, cached provider tracing, and failure-atomic target synthesis. Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
Assisted-by: GPT-5.6 via Codex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Description
Separate target-independent two-qubit optimization, post-routing native synthesis, and final target-conformance verification into three independently benchmarkable QCO pass factories.
Profitable constant two-qubit runs are optimized before routing without forcing a target basis. After mapping, unsupported operations and routing SWAPs are synthesized once from the
CompilerTarget-derived basis, and final conformance verifies operation kind, arity, parameters, actual provider site IDs, and ordered loci.CompilerTargetremains the sole authority for capabilities, including reverse-only symmetric loci and native SWAP support; nativeqco.powshells are handled without falsely validating their bodies as top-level operations.This removes the duplicate textual native-gate menu, parser, generated pass option,
mqt-cc --native-gates, and the corresponding C++/Python convenience surfaces. PIPE-01 will compose these visible stages around the target-backed mapping merged in #1997; this PR deliberately does not introduce another default pipeline or compatibility shim.This is SYN-01 in the compact QDMI–Compiler integration series and supersedes the approach in #1969. Reused native-synthesis work is credited to @simon1hofmann in the implementation commit and changelog.
No upgrade note is needed for the unreleased compiler collection.
Validation
mqt-ccbuild/help/version checksChecklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).